Tegra: memctrl: assert if dynamic memmap fails
authorVarun Wadekar <[email protected]>
Thu, 3 Aug 2017 18:40:34 +0000 (11:40 -0700)
committerVarun Wadekar <[email protected]>
Fri, 18 Jan 2019 17:21:51 +0000 (09:21 -0800)
This patch adds an assert in case the dynamic memmap routine fails.

Change-Id: Idd20debbb8944340f5928c6f2cfea973a63a7b1c
Signed-off-by: Varun Wadekar <[email protected]>
plat/nvidia/tegra/common/drivers/memctrl/memctrl_v1.c
plat/nvidia/tegra/common/drivers/memctrl/memctrl_v2.c

index 58f49d05f6e8f483241efe0c99f27a86e170c806..27ad563bcd6426c1ea9be6831ddb37dcd2d65912 100644 (file)
@@ -109,13 +109,16 @@ void tegra_memctrl_tzram_setup(uint64_t phys_base, uint32_t size_in_bytes)
 static void tegra_clear_videomem(uintptr_t non_overlap_area_start,
                                 unsigned long long non_overlap_area_size)
 {
+       int ret;
+
        /*
         * Map the NS memory first, clean it and then unmap it.
         */
-       mmap_add_dynamic_region(non_overlap_area_start, /* PA */
+       ret = mmap_add_dynamic_region(non_overlap_area_start, /* PA */
                                non_overlap_area_start, /* VA */
                                non_overlap_area_size, /* size */
                                MT_NS | MT_RW | MT_EXECUTE_NEVER); /* attrs */
+       assert(ret == 0);
 
        zeromem((void *)non_overlap_area_start, non_overlap_area_size);
        flush_dcache_range(non_overlap_area_start, non_overlap_area_size);
index a2f931b9f86531f21ef6de5b0c4eb75b048edae4..3d53644c67d15df9248f24268a04f83fe31c3f15 100644 (file)
@@ -600,13 +600,16 @@ static void tegra_unlock_videomem_nonoverlap(void)
 static void tegra_clear_videomem(uintptr_t non_overlap_area_start,
                                 unsigned long long non_overlap_area_size)
 {
+       int ret;
+
        /*
         * Map the NS memory first, clean it and then unmap it.
         */
-       (void)mmap_add_dynamic_region(non_overlap_area_start, /* PA */
+       ret = mmap_add_dynamic_region(non_overlap_area_start, /* PA */
                                non_overlap_area_start, /* VA */
                                non_overlap_area_size, /* size */
                                MT_NS | MT_RW | MT_EXECUTE_NEVER); /* attrs */
+       assert(ret == 0);
 
        zero_normalmem((void *)non_overlap_area_start, non_overlap_area_size);
        flush_dcache_range(non_overlap_area_start, non_overlap_area_size);